package model;

import interfaz.IElemento;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;


public class Proyecto implements IElemento {
	
	private String nombre;
	private List<Entidad> listaEntidades;
	private Diagrama diagramaPrincipal;
	private String path;
	//private HashMap<String, ArrayList<String>> arbolDeDiagramas;
	private ArrayList<String> listaDiagramas;
	
	/**
	 * Constructor por defecto
	 * para ser usado solamente por el constructor XML
	 */
    public Proyecto(){
		
	}
    
    /**Se indica el nombre del proyecto y la ruta donde se quiere crear el mismo*/
    public Proyecto(String nombre, String path){
		this.nombre = nombre;
		listaEntidades = new ArrayList<Entidad>();
		diagramaPrincipal = new Diagrama("Principal");
		this.path = path;
		//this.arbolDeDiagramas = new HashMap<String,ArrayList<String>>();
		//this.addValoresArbolDiagramas(nombre, "Principal");
		this.listaDiagramas = new ArrayList<String>();
		this.listaDiagramas.add(0,"Principal");
		File directorio= new File(this.path+"\\Datos"); 
		directorio.mkdirs(); 
	}
		
	public List<Entidad> getListaEntidades() {
		return listaEntidades;
	}

	public void setListaEntidades(List<Entidad> listaEntidades) {
		this.listaEntidades = listaEntidades;
	}

	public String getIdentificator() {
		return nombre;
	}

	public void setIdentificator(String nombre) {
		this.nombre = nombre;
	}
	
	public Diagrama getDiagramaPrincipal() {
		return diagramaPrincipal;
	}


	public void setDiagramaPrincipal(Diagrama diagramaPrincipal) {
		this.diagramaPrincipal = diagramaPrincipal;
	}
	
	/**Perminte conocer la ruta donde debe se ubica el proyecto
	 * */
	public String getPath() {
		return path;
	}
	
	public void setPath(String path) {
		this.path = path;
	}

	public ArrayList<String> getListaDiagramas() {
		return listaDiagramas;
	}

	public void setListaDiagramas(ArrayList<String> listaDiagramas) {
		this.listaDiagramas = listaDiagramas;
	}
	
	/*
	public HashMap<String, ArrayList<String>> getArbolDeDiagramas() {
		return arbolDeDiagramas;
	}

	public void setArbolDeDiagramas(HashMap<String, ArrayList<String>> arbolDeDiagramas) {
		this.arbolDeDiagramas = arbolDeDiagramas;
	}
	*/
	
	/**Metodo para agregar valores al "arbol de diagrmas del pakage explorer*/
	/*
	public void addValoresArbolDiagramas(String diagramaPadre, String diagramaHijo){
		ArrayList<String> tempList=null;

	    if(arbolDeDiagramas.containsKey(diagramaPadre)){

	       tempList=arbolDeDiagramas.get(diagramaPadre);

	       if(tempList==null)
	           tempList=new ArrayList<String>();

	        tempList.add(diagramaHijo);  

	    }else{
	        tempList=new ArrayList<String>();
	        tempList.add(diagramaHijo);               
	    }

	    arbolDeDiagramas.put(diagramaPadre,tempList);
	} 
	*/

}

